package cn.yuanqiao.manage.mapper;

import cn.yuanqiao.common.core.domain.entity.SysUser;
import cn.yuanqiao.manage.domain.ManageUser;
import org.apache.ibatis.annotations.Param;

import java.util.List;

/**
 * 管理员信息Mapper接口
 *
 * @author yuanqiao
 * @date 2023-06-06
 */
public interface ManageUserMapper
{
    /**
     * 查询管理员信息
     *
     * @param id 管理员信息主键
     * @return 管理员信息
     */
    ManageUser selectManageUserByID(String id);
    ManageUser selectUserByLoginName(String loginName);
    int resetUserPwd(@Param("userName") String userName, @Param("password") String password);


    /**
     * 查询管理员信息列表
     *
     * @param manageUser 管理员信息
     * @return 管理员信息集合
     */
    List<ManageUser> selectManageUserList(ManageUser manageUser);

    /**
     * 新增管理员信息
     *
     * @param manageUser 管理员信息
     * @return 结果
     */
    int insertManageUser(ManageUser manageUser);

    /**
     * 修改管理员信息
     *
     * @param manageUser 管理员信息
     * @return 结果
     */
    int updateManageUser(ManageUser manageUser);

    String getPassWordById(Long id);
    /**
     * 删除管理员信息
     *
     * @param ID 管理员信息主键
     * @return 结果
     */
    int deleteManageUserByID(String ID);

    /**
     * 批量删除管理员信息
     *
     * @param IDs 需要删除的数据主键集合
     * @return 结果
     */
    int deleteManageUserByIDs(String[] IDs);

    SysUser selectUserByUserName(String userName);
}
